1. Field of the Invention
The present invention relates generally to a network gateway device and, more particularly, to a network gateway device having an XML interface for communicating with external devices, such as billing and content servers, via XML commands and responses.
2. Description of the Related Art
In order to connect the computer of a user/subscriber to one or more networks or other online services, a variety of gateway devices have been developed. For example, one advantageous gateway device is described by U.S. patent application Ser. No. 08/816,174 and U.S. Provisional Patent Application No. 60/111,497, the contents of both of which are incorporated herein by reference. The gateway device can serve as a gateway to the Internet, an enterprise network, or other networks and/or on-line services. In addition to serving as a gateway, the gateway device can automatically adapt to the protocols and other parameters utilized by the host computer, in order that the host computer may communicate with the network in a manner that is transparent both to the user/subscriber and the network. Once the gateway device has appropriately adapted to the packets coming from the user's computer, the computer can appropriately communicate via the network, such as the network at a hotel, at home, at an airport, or any other location, in order to access other networks, such as the enterprise network, or other online services, such as the internet. In this fashion, the gateway device is capable of providing more efficient network access and network maintenance to the user/subscriber and the network operator.
Gateway devices must therefore communicate with a variety of external devices. For example, gateway devices typically communicate with billing and content servers which present customizable billing options and content pages for every subscriber of the gateway device. With respect to content, billing and content servers can present different log-on screens and pricing to a subscriber based upon one or more attributes associated with the subscriber. For example, a billing and content server can present different log-on screens and pricing based upon the location from which the subscriber accesses the network. In this regard, a subscriber in a suite may be presented with a different log-on screen and pricing options than a subscriber in a regular room or a conference room. Additionally, billing and content servers can present subscribers with customized web content based upon one or more attributes associated with the subscriber. By way of example, a billing and content server can customize the web content based upon the location from which the subscriber accesses the network. In this respect, different fire escape route maps can be presented to the subscriber based upon the room location from which the subscriber accesses the network. Additionally, guests in suites may have access to different web content than subscribers residing in a standard room.
With respect to billing, billing and content servers typically interface with a credit card authorization server in order to obtain credit card information and authorization regarding the various subscribers. Depending upon the billing arrangement of a particular subscriber, the billing and content server can communicate directly with the credit card authorization service in order to appropriately charge the subscriber's credit card account for the various services that the subscriber accesses via the gateway device. Alternatively, the billing and content server can communicate via the gateway device with a network management system, such as the property management system of a hotel, in order to appropriately charge the subscriber's account for the various services that the subscriber accesses via the gateway device.
Billing and content servers can also perform other functions, such as distributing email based upon mailing lists configured according to subscriber-specific information. Billing and content servers can also maintain and update membership records, such as frequent users clubs or frequent visitors clubs.
As briefly mentioned above, gateway devices may also communicate with a network management system, such as the property management system maintained by a hotel or the like. The functions performed by a network management system typically vary based upon the installation and application. For example, typical hotel property management systems automate operations such as room reservations, room assignments, guest check-in and check-out, and other front desk activities. Furthermore, typical hotel property management systems can maintain a log of telephone calls and telephone charges for each guest room, and can be in communication with the Internet to facilitate on-line reservations. As described in a provisional application entitled Systems And Methods For Enabling Network Gateway Devices To Communicate With Management Systems To Facilitate Subscriber Management bearing application No. 60/160,973 filed Oct. 22, 1999 and in a utility patent application entitled Systems and Methods for Integrating A Network Gateway Device with Management Systems filed concurrently herewith, gateway devices oftentimes communicate with network management systems, such as in instances in which the subscriber's access to various networks or on-line services is to be charged to their account that is administered by the network management system. The contents of these applications are also incorporated herein by reference.
Upon requesting access to a particular computer system or on-line service, the gateway device typically determines if the subscriber is entitled to access the computer system, the level of access and/or the type of services to which the subscriber is entitled according to an Authentication, Authorization, and Accounting (AAA) procedure that is described by U.S. patent application Ser. No. 09/458,602 entitled Systems and Methods for Authorizing, Authenticating and Accounting Users Having Transparent Computer Access to a Network Using a Gateway Device filed Dec. 8, 1999, and a patent application entitled Systems and Methods for Providing Dynamic Network Authorization, Authentication and Accounting filed concurrently herewith, the contents of each of which are incorporated herein by reference. An AAA server, which is a database of subscriber records, may be remote to the gateway device or the AAA database may be incorporated into the physical embodiment housing the gateway device. As such, in instances in which the AAA server is remote to the gateway device, the gateway device must also frequently communicate with the AAA server.
In addition to the external devices described above with which the gateway device frequently communicates, gateway devices may also communicate with a wide variety of other external devices depending upon the application. Unfortunately, communications with any of these external devices may be limited due to the particular format in which the external devices are designed to transmit and receive information. Since the external devices are typically designed by a number of different vendors, each of which may prefer a different format for communications, this problem is compounded by the lack of uniformity in the format with which the external devices communicate. In this regard, one external device may be designed to communicate according to one format, while another external device may be required to communicate according to another format. Since the subscriber gateway may be required to communicate with a variety of different external devices, the gateway device would seemingly have to communicate with each external device according to the particular format that is acceptable to the external device. This requirement can quickly prove cumbersome to the design, implementation and efficient operation of a gateway device since it will be forced to communicate according to a number of different formats. While this requirement is a current concern for the efficient utilization of gateway devices that must communicate with multiple external devices, this concern is expected to grow as the variety of applications in which gateway devices are employed increases and the number of different types of external devices with which the gateway device must communicate also grows.